home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - DOS Part 1 / DOS002.dsk / RAM TEST 48K.bas < prev    next >
BASIC Source File  |  2012-02-16  |  3KB  |  85 lines

  1. 1  REM AREVISION  8-2-79  
  2. 2  REM  WRITTEN BY PHILIP A. WASSON
  3. 10  TEXT : HOME 
  4. 20  PRINT "THIS PROGRAM REPEATEDLY TESTS"
  5. 25  PRINT "ALL 48K OF RAM"
  6. 30  PRINT "FOR 'HARD' ERRORS AND DISPLAYS THE"
  7. 40  PRINT "ROW AND COLUMN OF THE DEFECTIVE CHIP."
  8. 50  FOR I = 1 TO 5000: NEXT 
  9. 80 HEX$ = "0123456789ABCDEF"
  10. 90 LO = 768:HI = 1023
  11. 10000  REM 
  12. 10010  REM  RAM TEST
  13. 10020  REM 
  14. 10030  REM  SETUP ASSEMBLY ROUTINE
  15. 10040  REM 
  16. 10060  POKE 768,165: POKE 769,0: POKE 770,141
  17. 10070  POKE 771,95: POKE 772,3: POKE 773,165
  18. 10080  POKE 774,1: POKE 775,141: POKE 776,96
  19. 10090  POKE 777,3: POKE 778,169: POKE 779,2
  20. 10100  POKE 780,133: POKE 781,0: POKE 782,160
  21. 10110  POKE 783,0: POKE 784,140: POKE 785,97
  22. 10120  POKE 786,3: POKE 787,132: POKE 788,1
  23. 10130  POKE 789,177: POKE 790,0: POKE 791,141
  24. 10140  POKE 792,94: POKE 793,3: POKE 794,169
  25. 10150  POKE 795,255: POKE 796,145: POKE 797,0
  26. 10160  POKE 798,81: POKE 799,0: POKE 800,208
  27. 10170  POKE 801,31: POKE 802,145: POKE 803,0
  28. 10180  POKE 804,81: POKE 805,0: POKE 806,208
  29. 10190  POKE 807,25: POKE 808,173: POKE 809,94
  30. 10200  POKE 810,3: POKE 811,145: POKE 812,0
  31. 10210  POKE 813,230: POKE 814,0: POKE 815,208
  32. 10220  POKE 816,2: POKE 817,230: POKE 818,1
  33. 10230  POKE 819,165: POKE 820,1: POKE 821,201
  34. 10240  POKE 822,3: POKE 823,208: POKE 824,2
  35. 10250  POKE 825,230: POKE 826,1: POKE 827,201
  36. 10260  POKE 828,192: POKE 829,208: POKE 830,214
  37. 10270  POKE 831,240: POKE 832,8: POKE 833,141
  38. 10280  POKE 834,97: POKE 835,3: POKE 836,173
  39. 10290  POKE 837,94: POKE 838,3: POKE 839,145
  40. 10300  POKE 840,0: POKE 841,165: POKE 842,0
  41. 10310  POKE 843,141: POKE 844,98: POKE 845,3
  42. 10320  POKE 846,165: POKE 847,1: POKE 848,141
  43. 10330  POKE 849,99: POKE 850,3: POKE 851,173
  44. 10340  POKE 852,95: POKE 853,3: POKE 854,133
  45. 10350  POKE 855,0: POKE 856,173: POKE 857,96
  46. 10360  POKE 858,3: POKE 859,133: POKE 860,1
  47. 10370  POKE 861,96: POKE 862,0: POKE 863,0
  48. 10380  HOME 
  49. 10390  VTAB 5: PRINT "             48K RAM TEST"
  50. 10400  VTAB 7
  51. 10410  CALL 768
  52. 10420 AD = 256 * PEEK(867) + PEEK(866)
  53. 10430 DA =  PEEK(865)
  54. 10440  IF DA < >0  THEN 10540
  55. 10450  FOR I = LO TO HI
  56. 10460 SA =  PEEK(I): POKE I,255:DA = 255 - PEEK(I): POKE I,SA
  57. 10470  IF DA < >0  THEN AD = I:I = HI: GOTO 10500
  58. 10480 SA =  PEEK(I): POKE I,0:DA =  PEEK(I): POKE I,SA
  59. 10490  IF DA < >0  THEN AD = I:I = HI: GOTO 10500
  60. 10500  NEXT 
  61. 10510 PASS = PASS +1
  62. 10520  VTAB 22: HTAB 12: PRINT "PASS ";PASS;" COMPLETE": VTAB 7
  63. 10530  IF DA = 0  THEN 10410
  64. 10540  PRINT "ADDRESS   DATA    RAM FAULT LOCATION"
  65. 10550  POKE 216,0
  66. 10560 DEC = AD: GOSUB 10670
  67. 10570  PRINT " $";HX$;
  68. 10580 DEC = DA: GOSUB 10670
  69. 10590  HTAB 11: PRINT "$"; RIGHT$(HX$,2);
  70. 10600 R$ =  MID$ ("CDE", INT(1 +AD/16384),1)
  71. 10610  HTAB 20
  72. 10620  FOR I = 10 TO 3  STEP  -1
  73. 10630 DA = 2 *DA
  74. 10640  IF DA >255  THEN DA = DA -256: HTAB 25: PRINT R$;"-";I
  75. 10650  NEXT 
  76. 10660  END 
  77. 10670 HX$ = ""
  78. 10680  FOR I = 3 TO 0  STEP  -1
  79. 10690 P = 16 ^I
  80. 10700 H =  INT(DEC/P)
  81. 10710 DEC = DEC -H *P
  82. 10720 HX$ = HX$ + MID$ (HEX$,H +1,1)
  83. 10730  NEXT 
  84. 10740  RETURN 
  85. 61000  END